CC=g++

TAR=yz2419_main
SRC1=charcnt
SRC2=hufftree
SRC3=decoder
#SRC4=filereader

SRC=$(TAR).cpp $(SRC1).cpp $(SRC2).cpp $(SRC3).cpp
OBJ=$(TAR).o $(SRC1).o $(SRC2).o $(SRC3).o
HEADER=$(SRC1).h $(SRC2).h $(SRC3).h minqueue.h

$(TAR): $(OBJ)
	$(CC) $(OBJ) -o coder

$(TAR).o: $(HEADER) $(SRC)
	$(CC) -c $(TAR).cpp

$(SRC1).o: $(SRC1).cpp $(SRC1).h
	$(CC) -c $(SRC1).cpp 

$(SRC2).o: $(SRC2).cpp $(SRC2).h minqueue.h header.h
	$(CC) -c $(SRC2).cpp 

$(SRC3).o: $(SRC3).cpp $(SRC3).h header.h
	$(CC) -c $(SRC3).cpp 

#$(SRC4).o: $(SRC4).cpp $(SRC4).h
#	$(CC) -c $(SRC4).cpp 

clean:
	rm -rf *.o coder code.txt
